/**
 * @file	FeederAgentMock.h
 *graham matuszewski
 * @brief	Declares the feeder agent mock class.
 */

#ifndef FEEDERAGENTMOCK_H_
#define FEEDERAGENTMOCK_H_

#include "gmock/gmock.h" // Brings in Google Mock.
#include "Feeder.h"
#include <string>
/*
 Class: FeederAgentMock
 */
class FeederAgentMock : public Feeder {
public:
/*
 msgPleaseGetParts(PartType newPartType,LaneAgent* newLane) =0; //called by Lane //Nathan Perry: Changed Lane to LaneAgent* //Graham Matuszewski: Thanks
 msgHereAreParts(PartRecipe recipe) =0; //called by Gantry
msgGUIHasMovedPart()=0; //called by GUI
msgPurgeParts()=0; //called by ITSELF
msgGUIHasPurged()=0; //called by GUI
msgCurrentStatus()=0; //called by Feeders
*/

  MOCK_METHOD2(msgPleaseGetParts, void(PartType newPartType,Lane* newLane));
  MOCK_METHOD1(msgHereAreParts, void(PartRecipe recipe));
  MOCK_METHOD0(msgGUIHasMovedPart, void());
  MOCK_METHOD0(msgPurgeParts,void ());
  MOCK_METHOD0(msgGUIHasPurged, void());
  MOCK_METHOD0(msgCurrentStatus, void());
};

#endif
